\hypertarget{group__group5}{\section{S\-P\-I Module Driver}
\label{group__group5}\index{S\-P\-I Module Driver@{S\-P\-I Module Driver}}
}


A structure to drive D\-S\-P\-I modules of M\-P\-C5604\-B.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct___s_p_i___d_r_v}{\-\_\-\-S\-P\-I\-\_\-\-D\-R\-V}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__group5_gaa3f08b6b790aa1596d6f41a122c17aad}{void \hyperlink{group__group5_gaa3f08b6b790aa1596d6f41a122c17aad}{initialise\-\_\-\-S\-P\-I\-\_\-\-D\-R\-I\-V\-E\-R} (void)}\label{group__group5_gaa3f08b6b790aa1596d6f41a122c17aad}

\begin{DoxyCompactList}\small\item\em Initialisation function for S\-P\-I driver. Initializes the S\-P\-I variable with appropriate assingments on function pointers and activating T\-C\-I handler etc. Must be called before doing anything with the driver. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__group5_ga2365cce3281e8859c38a37edaced7e89}{struct \hyperlink{struct___s_p_i___d_r_v}{\-\_\-\-S\-P\-I\-\_\-\-D\-R\-V} \hyperlink{group__group5_ga2365cce3281e8859c38a37edaced7e89}{S\-P\-I} \mbox{[}3\mbox{]}}\label{group__group5_ga2365cce3281e8859c38a37edaced7e89}

\begin{DoxyCompactList}\small\item\em S\-P\-I driver instances. Variables defined on the driver structure, providing an Object Oriented user interface for using the driver.\par
. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A structure to drive D\-S\-P\-I modules of M\-P\-C5604\-B. This structure regroups the D\-S\-P\-I registers (volatile struct D\-S\-P\-I\-\_\-tag), some flags and information about R\-X/\-T\-X data (variables), and some high level functions for easy data transfer.\par


After each transfer function is called, Completed flag is reset and it gets Set once the transfer is completed. A transfer can be on foreground (blocking the program, no interrupts) or on the background (the program will run normally with interrupts to keep the transfer ongoing). 